Регистрация...

Eserv Forum / E3 / Eserv 3 Mail Server Support / Пересылка при наличии заданных слов в теме

imported // (v2)
Продукты и услуги Скачать Документация Купить Поддержка Форумы Партнёрам Статьи О компании
Новости
12.10.2009
Переезд завершен
Понадобилось сделать такую пересылку.
И к сожалению обнаружилось, что она работает если заданные слова состоят из английских букв или цифр. С русскими словами не работает!
Что нужно сделать, чтобы заработало?
 
Комментарии к версии 1 (03.03.2005 10:02) [~Михаил] 63cb81eb
АвторДатаТекстtags
pig03.03.2005 10:13
Это, наверное, только через MContent пока. В будущих релизах PigMail планируются переделки по части "магических" слов (не только в теме, в любом заголовке), а пока только MContent. Или самодельное правило писать.
imported
Михаил03.03.2005 10:59
А как написать самодельное правило?
imported
Dandy03.03.2005 11:03
а В чем Вас MContent не устраивает?!
imported
Михаил03.03.2005 11:44
Что есть MContent?
Не вижу его в настройках интерфейса ЕСЕРВа.
Некогда разбираться с суперзаумными настройками.
Если за него надо платить и он не включен в стандартную конфигурацию ac, то такое решение мне тоже ни к чему.
imported
Dandy03.03.2005 12:04
Побробнее о MContent: http://www.eserv.ru/mcontentplugin
Посмотрите, может его фичи, пригодятся Вам не только для данной задачи.

P.S. да, плагин не бесплатный (в оценочной версии Eserv он работает без ограничений) — но конкрентно для Вашей задачи — это пока единственное решение. Если у Вас нет времени разбираться в нем (в плагине) — сформулируйте задачу, я напишу правило обработки (для MContent-a) для Вас.

P.P.S. Когда данную задачу можно будет решить с помощью PigMail-a — у Вас появится альтернатива, но она тоже будет не бесплатной....

P.P.P.S. в стандартной конфигурации (без доп. обработчиков) Вашу задачу можно решить — _только_ самостоятельно редактируя правила обработки, что наврятли менее сложно, чем написать правило для спец. обработчика (MContent)
imported
pig03.03.2005 12:25
Самопально надо редактировать conf\smtp\OnMessageEnd.rules.txt. В оригинале там всё в одной строке
H-SUBJECT SMTP[SubjectWords] IsInFile | FIELD2 AddRcpt
imported
Михаил03.03.2005 17:01
Не хочу МКонтект, не хочу Пигмайл, не хочу сам изучать и править коды, которые очередным обновлением будут потерты. Вопрос к г. Черезову:
Почему действо, называемое в вашей программе пересылкой фактически является дублированием и можно ли в очередных версиях программы ожидать реализации реальной пересылки?
imported
Dandy03.03.2005 17:31
не хотите — не надо.... пишите feature request на support @ eserv.ru

создайте каталог myconf в каталоге конфигурации сервера будет Вам счасть в плане того, что перезаписываться конфиг не будет.
imported
Комментарии к этой версии (15.07.2009 12:41) [~ili_a] 087b4cf5
АвторДатаТекстtags
pig15.07.2009 18:23
У вас стандартная конаигурация, как я понимаю. Тогда так: conf\smtp\OnMessageEnd.rules.txt — заменить строку 55
H-SUBJECT SMTP[SubjectWords] IsInFile | FIELD2 AddRcpt
на такую:
H-SUBJECT StripLwsp MimeValueDecode SMTP[SubjectWords] IsInFile | FIELD2 AddRcpt

Ограничения:
  • может ошибаться, если в письме нет указания на кодировку, тема не закодирована и реальная кодировка windows-1251 (обычно это спамерскиа письма);
  • не понимает UTF-8.
imported
ili_a16.07.2009 09:54
Спасибо, работает.
imported
Dandy16.07.2009 11:02
Если нужно чтобы понимал UTF8 можно тему доставать MContent-ом, после чего проверять по списку
imported
pavlad15.01.2013 07:46
Подниму тему ещё раз.
Итак — есть работающий Eserv(v3.35). Давно и устойчиво. Сейчас появилась потребность письма от "конкретного отправителя" с "конкретными словами в Теме" дублировать ещё на одного получателя. И я обнаружил — что фильтрация по BlackListSubject.txt и SubjectWords.txt не работает в принципе.
Строку 55 в OnMessageEnd.rules.txt менял. Сервер на всяк случай после изменений перезапускал. Эффекта нет.
Фильтрация по FromEmailAliasesTo.txt при этом работает нормально.

Вопрос — как заставить работать SubjectWords.txt? А лучше — ещё и скрестить его с FromEmailAliasesTo.txt?
wikipost
ac15.01.2013 08:37
pavlad пишет: И я обнаружил — что фильтрация по BlackListSubject.txt и SubjectWords.txt не работает в принципе.

А что написано в SubjectWords.txt? Про то, что в первой строке заголовки, а сами ключевые слова должны быть со звёздами "*слово*", не забыли (иногда после удаления исходных примеров забывают).

pavlad пишет: Строку 55 в OnMessageEnd.rules.txt менял.


Можно еще добавить туда "2DUP TYPE CR", чтобы в acSMTP.log записывались темы в том виде, в котором они получаются после декодирования:
H-SUBJECT StripLwsp MimeValueDecode 2DUP TYPE CR SMTP[SubjectWords] IsInFile | FIELD2 AddRcpt
wikipost
pavlad16.01.2013 05:44
Да, похоже просохатил. Со звёздочками заработало. Т.е. по правилу в SubjectWords.txt делается копия ещё в один ящик. А с "2DUP TYPE CR" в acSMTP.log от любого пролетающего через сервер письма вписывается строчка вида
Subject: какая-нить тема
Для отладки в принципе пригодится. Особенно если как-то добавить ещё чего-нить информативное — ну там номер потока или время события. Не подскажете волшебную комбинацию для искомого?

И опять-же основной вопрос — как сделать чтоб SubjectWords.txt работал в подмножестве FromEmailAliasesTo.txt?
Я так понимаю — просто перестановкой очерёдности строчек в OnMessageEnd.rules.txt этого не достичь. Имеющиеся правила автономны. Надо добавлять что-то новое. Помогите с констукцией, если это в принципе реализуемо.
wikipost
pig16.01.2013 06:36
"В подмножестве" — это как?
wikipost
pavlad16.01.2013 06:45
Собственно четырьмя постами выше... надо чтобы дублировались не все письма от отправителя такого-то ИЛИ с *словом* в поле темы, а только в совокупности: отправителя И *словом* в поле темы.
wikipost
ac22.01.2013 14:15
acSMTP\conf\smtp\OnMessageEnd.rules.txt вместо

\ Добавление заданных получателей в случае наличия определенных слов в теме. H-SUBJECT SMTP[SubjectWords] IsInFile | FIELD2 AddRcpt
сделать
\ Добавление заданных получателей в случае наличия определенных слов в теме и наличии отправителя в списке FromEmailAliasesTo... MAILFROM SMTP[FromEmailAliasesTo] IsInFile H-SUBJECT SMTP[SubjectWords] IsInFile AND | FIELD2 AddRcpt
wikipost
pavlad25.01.2013 08:25
Не... неправильно работает. Теперь по теме от произвольного адресата вообще не ловится. А FromEmailAliasesTo продолжает работает как сам по себе так и вместе с SubjectWords.

Попытаюсь ещё раз объяснить ситуацию: есть некий отправитель (т.е. FromEmail). От него приходит почта скажем так по работе и ну...личная. И вот надо служебную переписку (т.е. по SubjectWords) дублировать соисполнителю, не делая содержание личной переписки общим достоянием.
По-любому имеющиеся уже FromEmailAliasesTo.txt и SubjectWords.txt использовать не получится. Это списки для уже вполне конкретных правил. Я бы сказал — нужно делать новый список типа
FromEmail-SubjectWords-AliasesTo.txt и для него уже встраивать правило в OnMessageEnd.rules.txt
wikipost
ac25.01.2013 08:34
Тогда еще проще:
MAILFROM H-SUBJECT FromEmail-SubjectWords-AliasesTo.txt IsInFile2 | FIELD3 AddRcpt
wikipost
pavlad25.01.2013 08:40
P.S. по ходу экспериментов обнаружил глюки (может это только на моём сервере конечно):
  1. Если OnMessageEnd.rules.txt без "StripLwsp MimeValueDecode", то SubjectWords не понимает слов на кирилице. Вообще.
  2. Адрес вида user@{Server[DefaultDomain]} для правил из SubjectWords не преобразуется в "правильный". Может я опять где-чего пропустил?
PPS Понятно, что проект Eserv3 уже закрыт. Но пока он правился — помнится был какой-то репозитарий с доработками модулей. Как-то ещё возможно туда попасть? Ну или к примеру в виде архива скачать?
wikipost
ac25.01.2013 10:08
pavlad пишет: Если OnMessageEnd.rules.txt без "StripLwsp MimeValueDecode", то SubjectWords не понимает слов на кирилице. Вообще.

Это зависит от содержимого acSMTP\conf\smtp\headers\SUBJECT.rules.txt: если там HEADER-STR $H-SUBJECT S!, то строка в H-SUBJECT записывается как есть (это удобно, когда тема фильтруется не по словам, а по кодировкам — китайцев фильтровать, например). А если DECODED-HEADER-STR $H-SUBJECT S!, то декодируется.

pavlad пишет: Адрес вида user@{Server[DefaultDomain]} для правил из SubjectWords не преобразуется в "правильный". Может я опять где-чего пропустил?

Да, в FIELD2 макросы не раскрываются. Там стоит
H-SUBJECT SMTP[SubjectWords] IsInFile | FIELD2 AddRcpt

Если заменить на
H-SUBJECT SMTP[SubjectWords] IsInFile | FIELD2 S@ AddRcpt
то будут раскрываться (S@ это делает).

pavlad пишет: помнится был какой-то репозитарий с доработками модулей. Как-то ещё возможно туда попасть? Ну или к примеру в виде архива скачать?

Все последние изменения линейки E3, какие были на его CVS, вошли в 3.35, больше изменений не было, так что repo в виде архива — это 3.35 и есть. Сколько-нибудь существенных багов в E3 за эти годы обнаружено не было. Все проблемы E3 лежат в области производительности (как следствие "чрезмерно" гибкой и открытой архитектуры), а не в ошибках. Изменения ядер Eserv (самих обработчиков протоколов, без конфигов; вплоть до текущих версий E5) по-прежнему на sourceforge.net — acweb.sf.net, acsmtp.sf.net,... — но это для программистов.
wikipost
Работает на Eserv/5.05567 (10.02.2020)